﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SeguradoraIA.Class;
using SeguradoraIA.Diagrama;
using SeguradoraIA.Framework.Log;
using SeguradoraIA.Framework;

namespace SeguradoraIA.Forms
{
    public partial class DefinirAtributos : PageBase
    {
        #region - Atributos -

        SeguradoraIAEntities ctx = new SeguradoraIAEntities();

        #endregion

        #region - Eventos -

        #region - Page_Load -
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
                this.ConfiguraTela();
        }
        #endregion

        #region - Voltar -
        public override void Voltar()
        {
            try
            {
                Response.Redirect("Default.aspx", false);
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/PaginaErro.aspx");
            }
        }
        #endregion

        #region - Incluir -
        public override void Incluir()
        {
            try
            {
                this.AtualizarPeso();
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
                Response.Redirect("~/Forms/PaginaErro.aspx");
            }
        }
        #endregion

        #endregion

        #region - Metodos -

        #region - ConfiguraTela -
        private void ConfiguraTela()
        {
            this.ucBotoesPadrao.ExibeBotaoIncluir = true;
            this.ucBotoesPadrao.ExibeBotaoVoltar = true;
            this.ucBotoesPadrao.ExibirBotoes();
            this.CarregaCampos();
        }
        #endregion

        #region - CarregaCampos -
        private void CarregaCampos()
        {
            Peso peso = ctx.Peso.FirstOrDefault();

            if (peso != null)
            {
                txtPesoBairro.Text = peso.PesoBairro.ToString();
                txtPesoCursoFormacao.Text = peso.PesoCursoFormacao.ToString();
                txtPesoGrauInstrucao.Text = peso.PesoGrauInstrucao.ToString();
                txtPesoIdade.Text = peso.PesoIdade.ToString();
                txtPesoMarcaCarro.Text = peso.PesoMarcaCarro.ToString();
                txtPesoProfissao.Text = peso.PesoProfissao.ToString();
                txtPesoSinistro.Text = peso.PesoSinistro.ToString();
                txtPesoTempoHabilitacao.Text = peso.PesoTempoHabilitacao.ToString();
                txtPesoTipoCarro.Text = peso.PesoTipoCarro.ToString();
                txtPesoValorCarro.Text = peso.PesoValorCarro.ToString();
            }
        }
        #endregion

        #region - AtualizarPeso -
        private void AtualizarPeso()
        {
            Peso peso = ctx.Peso.FirstOrDefault();
            bool inclusao = false;

            if (peso == null)
            {
                peso = new Peso();
                inclusao = true;
            }

            peso.PesoBairro = txtPesoBairro.Text.ToDouble();
            peso.PesoCursoFormacao = txtPesoCursoFormacao.Text.ToDouble();
            peso.PesoGrauInstrucao = txtPesoGrauInstrucao.Text.ToDouble();
            peso.PesoIdade = txtPesoIdade.Text.ToDouble();
            peso.PesoMarcaCarro = txtPesoMarcaCarro.Text.ToDouble();
            peso.PesoProfissao = txtPesoProfissao.Text.ToDouble();
            peso.PesoSinistro = txtPesoSinistro.Text.ToDouble();
            peso.PesoTempoHabilitacao = txtPesoTempoHabilitacao.Text.ToDouble();
            peso.PesoTipoCarro = txtPesoTipoCarro.Text.ToDouble();
            peso.PesoValorCarro = txtPesoValorCarro.Text.ToDouble();

            if (inclusao)
                ctx.Peso.AddObject(peso);

            ctx.SaveChanges();

            ShowAlert("Pesos atualizados com sucesso!", "Default.aspx");
        }
        #endregion

        #endregion
    }
}